Conventional user interaction models follow a structured, hierarchical navigation approach. Menus are often provided that group features into certain categories with links that lead to a certain feature. Additionally, buttons can be provided that represent different actions on an object. While such an interaction model presents users with all options that are available, it also requires quite some learning to get familiar with the application. One has to learn which links to follow, where in the menu structure a certain feature is located and which button corresponds to which action, and the like.
As an example, with an application for creating purchase orders, a sample navigation tree might include:                Order Management                    Purchase Orders                            Create Purchase Order                                    Add Item(s)                    Set quantity                    Choose supplier                    Save Order                                                                                
The whole task to create a purchase order with two items involves nine steps, which the user has to memorize. This task implicates the names and positions of various user interface elements such as menu items, hyperlinks, buttons and input fields. Any change in the user interface (e.g., new version of the software, additional features, different vendor, etc.) can disrupt the user's understanding of how the software works, thereby necessitating the user to learn the modified model.